/*
 * Wire.h
 *
 *  Created on: Apr 6, 2012
 *      Author: hxu
 */

#ifndef WIRE_H_
#define WIRE_H_
#include<string>

namespace Cxuh {

class Wire {
public:
	Wire();
	Wire(int length, std::string name1);
	virtual ~Wire();
	double getD() const; // delay of wire, without considering successor and predecessor
	double getR() const{return R*length;} // total r
	double getC() const{return C*length;} // total c
	int getL() const{return length;}
	std::string getName() const{return name;}
	void setName(std::string name1){name = name1;}
	void setL(int l){length = l;}

	static double R, C;
	static double Rvar[2], Cvar[2];
private:
	int length;
	std::string name;	// source_sink
};

} /* namespace Cxuh */
#endif /* WIRE_H_ */
